home *** CD-ROM | disk | FTP | other *** search
- ===================== SwitchWindow 0.8 main documentation =================
- ===========================================================================
- A simple window tool as a replacement for CBM IHelp to be used with
- Kickstart 2.x/3.x, written by Roland 'Gizzy' Mainz, freeware, all rights
- reserved.
- No guarantee of any kind is made that the program described below in this
- document is 100% reliable. You use this material on your own risk.
-
-
- ============================== Misc =======================================
- ===========================================================================
- Because I don't like IHelp (one of us makes everytime a mistake) and
- (at first) I need the ZOOM gadget very often, I've programmed a simple
- tool called 'SwitchWindow'. It only changes the Window's size via the
- ZipWindow() call. Later some other very useful functions were added (see
- below).
-
-
- =========================== Installation ==================================
- ===========================================================================
- Workbench: Drop the 'SwitchWindow' icon in your favorite drawer (like
- Sys:WBStartup/ or Sys:Tools/Commodities/). Be sure that the tooltype
- DONOTWAIT is set, otherwise the Workbench will call with a requester
- (only WBStartup).
-
- CLI/Shell: Drop/Copy the 'SwitchWindow' file in your favorite directory
- (like Sys:Tools/Commodities/).
- If you like to run the program at startup, get your favorite editor
- and add this line to S:user-startup (NOT Startup-Sequence !!):
- run >nil: <nil: Sys:Tools/Commodities/SwitchWindow
-
-
- =============================== Usage =====================================
- ===========================================================================
-
- SwitchWindow may be controlled through three different ways:
- COMMODITIES EXCHANGE
- (Show/Hide) (not implemented)
- Enable/Disable activate/deactivate the tool
- if the tool is deactivated, you couldn't use any
- function
- Kill quits the tool/end
-
- CLI/Shell
- break <process> C quits the tool/end
- break <process> E enables the tool in the Commodities Network
- break <process> F disables it
-
- REXX (global commands)
- 'QUIT' quits the tool
- 'CX_DISABLED=FALSE' enables the tool
- 'CX_DISABLED=TRUE' disables the tool
- ('ENABLE'/'DISABLE') FUTURE commands (>V0.85)
-
- REXX (one hotkey)
- '<command>KEY=enable' enables one hotkey
- ('MOVELEFTKEY=enable')
- '<command>KEY=disable' disable one hotkey
- ('MOVELEFTKEY=disable')
- '<command>KEY=alt x>' assign the function <command> to the hotkey
- "alt x"
- ('MOVELEFTKEY=alt x')
-
- SEE ALSO
- SwitchWindow.rexx.doc
-
- The next two points are only valid if you don't set the QUIET
- tooltype/flag:
- -If you start a second SwitchWindow, the old one will present you
- a requester:
- Ignore = put away this ugly requester; do nothing
- Disable = disable this task in the commodities list
- (like the DISABLE function in COMMODITIES EXCHANGE)
- Kill = quit the tool
- -If you want to quit the SwitchWindow tool it will bring up
- a 'Are you sure ?' requester.
- -If a hotkey description is wrong, SwitchWindow will popup a requester
- (V0.85):
- Retry (V0.85) = Retry to insert the hotkey in the CX network
- Cancel = abort
-
-
- ===================== ToolTypes / Shell arguments =========================
- ===========================================================================
- There are a number of command line switches available which also
- correspond to tooltype entries to be changed/created by selecting the
- appropriate icon and choosing the Workbench menu item `Icons/Information'.
-
- TEMPLATE
- CX_PRIORITY/K/N,CX_NAME/K,CX_TITLE/K,CX_DESCR=CX_DESCRIPTION/K,
- CX_DISABLED/K,QUIET/K,PORTNAME=RXPORTNAME/K,PORTPRI=RXPORTPRI/K/N,
- MOVESTEP/K/N,SIZESTEP/K/N,ZIPWINDOWKEY/K,MAKESMALLKEY/K,MAKEBIGKEY/K,
- CLIPTOWINDOWKEY/K,WINDOWTOCLIPKEY/K,MOVEUPKEY/K,MOVEDOWNKEY/K,
- MOVELEFTKEY/K,MOVERIGHTKEY/K,SIZEUPKEY/K,SIZEDOWNKEY/K,SIZELEFTKEY/K,
- SIZERIGHTKEY/K,PAGEUPKEY/K,PAGEDOWNKEY/K,SIZEPAGEUPKEY/K,
- SIZEPAGEDOWNKEY/K,WINDOWTOMOUSEKEY/K,WINDOWTOFRONTKEY/K,
- WINDOWTOBACKKEY/K,DEBUGWINDOWKEY/K,IGNORESIZEFLAG/K
-
-
- CX_PRIORITY/N.... The Cx priority to assign this tool to. You may want to
- change this value if there is more than one Commodity
- tool running to use the same key sequences as
- `SwitchWindow'. The one which has the higher priority
- will receive the keystrokes first.
- example: 'CX_PRIORITY=0' (DEFAULT)
-
- CX_DISABLED/K.... This is a boolean switch which determines whether
- SwitchWindow's hotkeys are disabled on startup or not.
- example: 'CX_DISABLED'
-
- CX_NAME/K........ The name string in the Commodities list.
- example: 'CX_NAME=Yeeha'
-
- CX_TITLE......... The title string shown in the CX EXCHANGE window.
- example: 'CX_TITLE=SwitchWindow'
-
- CX_DESCR=
- CX_DESCRIPTION/K. The description string shown in the CX EXCHANGE window.
- example: 'CX_DESCRIPTION=Small tool'
-
- PORTNAME=
- RXPORTNAME/K..... The REXX port name.
- example: 'RXPORTNAME=SWrexx'
-
- PORTPRI=
- RXPORTPRI/K/N.... The REXX port priority.
- example: 'RXPORTPRI=5'
-
- QUIET/K.......... This is a boolean switch which determines whether
- SwitchWindow pops up a requester or not.
- SwitchWindow will quit quiet. If another SwitchWindow
- was started the 'old' SwitchWindow will be removed.
- example: 'QUIET'
-
- ZIPWINDOWKEY/K... 'zip' the window. This function is similar to the
- window's 'ZOOM'-gadget.
- example: 'ZIPWINDOWKEY=lcommand z' (DEFAULT)
-
- MAKESMALLKEY/K... Makes the window as small as possible.
- example: 'MAKESMALLKEY=lcommand tab' (DEFAULT)
-
- MAKEBIGKEY/K..... Makes the window as big as possible.
- example: 'MAKEBIGKEY=shift lcommand tab' (DEFAULT)
-
- CLIPTOWINDOWKEY/K Moves the visible part of a draggable screen to the
- window's position.
- example: 'CLIPTOWINDOWKEY=lcommand w' (DEFAULT)
-
- WINDOWTOCLIPKEY/K Changes the window's position to the visible part of
- the screen (screenclip).
- example: 'WINDOWTOCLIPKEY=lcommand c' (DEFAULT)
-
- MOVEUPKEY/K
- MOVEDOWNKEY/K
- MOVERIGHTKEY/K
- MOVELEFTKEY/K.... The keys to press to move the window in the specified
- direction.
- examples:
- 'MOVEUPKEY=lcommand up' (DEFAULT)
- 'MOVEDOWNKEY=lcommand down' (DEFAULT)
- 'MOVERIGHTKEY=lcommand right' (DEFAULT)
- 'MOVELEFTKEY=lcommand left' (DEFAULT)
-
- SIZEUPKEY/K
- SIZEDOWNKEY/K
- SIZERIGHTKEY/K
- SIZELEFTKEY/K.... Sizes the window in the specified direction.
- examples:
- 'SIZEUPKEY=shift lcommand up' (DEFAULT)
- 'SIZEDOWNKEY=shift lcommand down' (DEFAULT)
- 'SIZERIGHTKEY=shift lcommand right' (DEFAULT)
- 'SIZELEFTKEY=shift lcommand left' (DEFAULT)
-
- PAGEUPKEY/K
- PAGEDOWNKEY/K.... Moves the window up (down) in the window's frame height.
- examples:'PAGEUPKEY=lcommand numericpad 9' (DEFAULT)
- 'PAGEDOWNKEY=lcommand numericpad 3' (DEFAULT)
-
- SIZEPAGEUPKEY/K
- SIZEPAGEDOWNKEY/K Size the window up (or down) in the current window's
- frame height.
- examples:
- 'SIZEPAGEUPKEY=shift lcommand numericpad 9'
- (DEFAULT)
- 'SIZEPAGEDOWNKEY=shift lcommand numericpad 3'
- (DEFAULT)
-
- WINDOWTOMOUSEKEY/K Moves the window's left top edge to the mousepointer's
- position.
- example: 'WINDOWTOMOUSEKEY=lcommand numericpad 0'
- (DEFAULT)
-
- WINDOWTOFRONTKEY/K Takes the window in front of all other windows in the
- screen.
- example: 'WINDOWTOFRONTKEY=lcommand f' (DEFAULT)
-
- WINDOWTOBACKKEY/K The keys to press to send the window in back of all
- other windows in the screen.
- example: 'WINDOWTOBACKKEY=lcommand b' (DEFAULT)
-
- DEBUGWINDOWKEY/K. This creates a system requester with some informations
- about the window (like name, width, height, leftedge,
- topedge, ... )
- example: 'DEBUGWINDOWKEY=lcommand d' (DEFAULT)
-
- MOVESTEP/N....... The number of pixels in the screen's resolution to move
- the window in every direction.
- example: 'MOVESTEP=20' (DEFAULT)
-
- SIZESTEP/N....... The number of pixels in the screen's resolution to size
- the window in every direction.
- example: 'SIZESTEP=20' (DEFAULT)
-
- IGNORESIZEFLAG/K. If this flag is set, every kind of window will be
- sized.
-
- NOTE(Shell only): Hotkey strings with blanks MUST be enclosed with "...".
- Example: SwitchWindow ZIPWINDOW="shift lcommand z"
-
- NOTE: CLIPTOWINDOW and WINDOWTOCLIP will only be useful for
- screens larger than the visible part (here called 'draggable screens')
-
- EXAMPLE (from WB / Icon tooltypes)
- DONOTWAIT
- CX_PRIORITY=0
- CX_DISABLED=TRUE
- QUIET
- ZIPWINDOWKEY=lcommand z
- CLIPTOWINDOWKEY=lcommand w
- WINDOWTOCLIPKEY=lcommand c
-
- /* The tool will be loaded with the CX_PRIORITY 0, inactive, no system
- requesters,
- the ZIPWINDOW function will be run through "lcomand z",
- CLIPTOWINDOW through "lcommand w" and
- WINDOWTOCLIP through "lcommand c".
- The other keys work with their default hotkey strings. */
-
- EXAMPLE (from CLI / Shell)
- SwitchWindow CX_PRIORITY=0 CX_DISABLED=TRUE QUIET ZIPWINDOW="lcommand z"
-
- /* The tool will be loaded with the CX_PRIORITY 0, inactive and no
- system requesters.
- The ZIPWINDOW function will be activated through "lcommand z". */
-
-
- ======================== About the REXX port ============================
- =========================================================================
- Since the REXX port documentation is moved into a separate file, I'll
- write only a few lines here.
- The REXX port implementation is experimental (because I din't get the
- AREXX book yet), this means that everything may change !!
-
-
- =========================== KNOWN BUGS ==================================
- =========================================================================
- -DEBUGWINDOW will hang the tool until the requester is closed.
- -If one hotkey string is wrong in any kind, SwitchWindow will
- fail without any message (may be removed in V0.85).
- -Sometimes the REXX-port will be very slow. Then you may restart the
- tool.
- -The REXX port is experimental.
- -SIZESTEP & MOVESTEP does not check if their arguments are valid.
- Be careful.
- -Today SwitchWindow is only tested on my private AMIGA
- (Amiga 2000C, M68000, 1MB Chip, 8MB Fast, 425MB Nexus HD,
- OS V2.04, EXEC V37.132, COMMODITIES 37.27).
-
-
- ============================= TODO ======================================
- =========================================================================
- -CLIPTOWINDOW/K and WINDOWTOCLIP/K will be enhatched:
- CLIPTOWINDOW=AUTO will run the function with every window's
- activation.
- The visible part of the screen will
- automatically be moved to the active window.
- WINDOWTOCLIP=AUTO will run the function with every window's
- activation.
- The window will be moved into the visible
- part of the screen.
- -DEBUGSCREEN/K will create a requester with some informations about
- the Screen.
- -If one hotkey string is wrong in any kind, the program will
- pop up a requester (V0.85)
- -MAKESMALL may size WB windows in another way (V0.85).
- -A special icon for SwitchWindow
- -A simple, short manual file (autodoc style)
- -AmigaGuide file
- -Another REXX port implementation
- -locale.library support
- -German documentation
- -Split up the project in three parts:
- SwitchWindow.rexx.window (REXX port, window)
- SwitchWindow.rexx (REXX port, no window) (this distribution)
- SwitchWindow.small (the pure commodity)
-
-
- =========================== Author's Request ==============================
- ===========================================================================
- By releasing this program I do not place any obligations on you,
- feel free to share this program with your friends (and enemies).
-
- If you want to blame me, report any bugs or want the source,
- send your letter to:
- Roland Mainz
- Hohenstaufenstraße 8
- D-5164 Nörvenich
- GERMANY
-
- But, should you feel the need to make any contributions, send them to:
- Fred Fish
- Amiga Library Disks
- 1835 East Belmont Drive
- Tempe, Arizona 85284
- USA
-
- for his great AMIGA library, and his work all over the years.
-
-
- The entire SwitchWindow package may be noncommercially redistributed,
- provided that the package is always distributed in it's complete form
- (including it's documentation). A small copy fee for media costs is okay
- but any kind of commercial distribution is strictly forbidden!
- Comments and suggestions how to improve this program are generally
- appreciated!
-
- Thanks to Matt Dillon for his DICE, and Olaf 'Olsen' Barthel for his
- help, ideas and some text clips from his documentations.
-
-